package Ex_6_2;

import java.util.Scanner;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Produto produto = new Produto();
		Ingrediente ingrediente = new Ingrediente();
		Scanner sc;
		
		int aux = 1;
		while(aux != 0){
			System.out.println("MENU");
			System.out.println("1 - Add Produto");
			System.out.println("2 - Add Ingrediente");
			System.out.println("3 - Listar quais são os ingradientes do Produto");
			System.out.println("4 - Listar Produto associados ao Ingrediente");
			System.out.println("0 - Sair");
			sc = new Scanner(System.in);
			int op = sc.nextInt();
			switch (op) {
			case 1:
				System.out.println("Nome: ");
				sc = new Scanner(System.in);
				produto.setoQueEh(sc.next());
				int aux1 = 1;
				while(aux1 != 0){
					System.out.println("Adicionar Ingrediente?\n1 - Sim\n0 - Não");
					sc = new Scanner(System.in);
					aux1 = sc.nextInt();
					if(aux1 == 1){
						System.out.println("Tipo: ");
						sc = new Scanner(System.in);
						ingrediente.setTipo(sc.next());

						System.out.println("Dosagem: ");
						sc = new Scanner(System.in);
						ingrediente.setDosagem(sc.nextInt());
						
						produto.adicionarIngrediente(ingrediente);
					}
				}
				break;

			case 2:
				System.out.println("Tipo: ");
				sc = new Scanner(System.in);
				ingrediente.setTipo(sc.next());

				System.out.println("Dosagem: ");
				sc = new Scanner(System.in);
				ingrediente.setDosagem(sc.nextInt());
				int aux2 = 1;
				while(aux2 != 0){
					System.out.println("Adicionar Produto?\n1 - Sim\n0 - Não");
					sc = new Scanner(System.in);
					aux2 = sc.nextInt();
					if(aux2 == 1){
						System.out.println("Nome: ");
						sc = new Scanner(System.in);
						produto.setoQueEh(sc.next());
						
						ingrediente.adicionarProduto(produto);
					}
				}
				break;

			case 3:
				System.out.println("Qual Produto? ");
				sc = new Scanner(System.in);
				String nomeProduto = sc.next();
				int aux3 = 0;
				for(Produto p: ingrediente.getProdutos()){
					if(p.getoQueEh().equalsIgnoreCase(nomeProduto)){
						aux3 = 1;
						for(Ingrediente i: p.getIngredientes()){
							System.out.println(i.getTipo());
						}
					}
				}
				if(aux3 != 1)
					System.out.println("Produto não cadastrado!");
				break;

			case 4:
				System.out.println("Qual Ingrediente? ");
				sc = new Scanner(System.in);
				String nomeIngrediente = sc.next();
				int aux4 = 0;
				for(Ingrediente i : produto.getIngredientes()){
					if(i.getTipo().equalsIgnoreCase(nomeIngrediente)){
						aux4 = 1;
						for(Produto p: i.getProdutos()){
							System.out.println(p.getoQueEh());
						}
					}
				}
				if(aux4 != 1)
					System.out.println("Ingrediente não cadastrado!");
				break;
				
			case 0:
				aux = 0;
				break;

			
			default:
				break;
			}
		}
		
	}

}
